<?php

namespace app\admin\controller;

use think\Controller;
use think\Request;

class curd extends Controller
{
    /**
     * 显示资源列表
     *
     * @return \think\Response
     */
    public function index()
    {
        $list=\app\admin\model\Goods::order('id desc')->select();
        return view('index',['list'=>$list]);
    }

    /**
     * 显示创建资源表单页.
     *
     * @return \think\Response
     */
    public function create()
    {
        return view();
    }

    /**
     * 保存新建的资源
     *
     * @param  \think\Request  $request
     * @return \think\Response
     */
    public function save(Request $request)
    {
        //接收数据
        $params=input();
        //参数检测
        $rule=[
            ['goods_name|商品名称'=>'require'],
            ['goods_price|商品价格'=>'require|float|gt:0']
        ];
        $msg=[
            'goods_name.require'=>'商品名称不能为空',
            'goods_price.float'=>'商品价格格式不正确'
        ];
        //调用控制器的validate方法
        $validate=$this->validate($rule,$msg,$params);
        if($validate!==true){
            $this->error($validate);//验证失败，$validate 就是一个字符串错误信息
        }
        //添加数据到数据表 第二个参数true表示过滤非数据表字段
        \app\admin\model\Goods::create($params,true);
        $this->success('添加成功','admin/goods/index');

    }

    /**
     * 显示指定的资源
     *
     * @param  int  $id
     * @return \think\Response
     */
    public function read($id)
    {
        //查询数据
        $goods=\app\admin\model\Goods::find($id);
        return view('read',['goods'=>$goods]);
    }

    /**
     * 显示编辑资源表单页.
     *
     * @param  int  $id
     * @return \think\Response
     */
    public function edit($id)
    {
        //查询数据
        $goods=\app\admin\model\Goods::find($id);
        return view('edit',['goods'=>$goods]);
    }

    /**
     * 保存更新的资源
     *
     * @param  \think\Request  $request
     * @param  int  $id
     * @return \think\Response
     */
    public function update(Request $request, $id)
    {
        //接收数据
        $params=input();
        //参数检测
        $rule=[
            ['goods_name|商品名称'=>'require'],
            ['goods_price|商品价格'=>'require|float|gt:0']
        ];
        $msg=[
            'goods_name.require'=>'商品名称不能为空',
            'goods_price.float'=>'商品价格格式错误'
        ];
        $validate=$this->validate($rule,$msg,$params);
        if($validate!==true){
            $this->error($validate);
        }
        //修改数据
        \app\admin\model\Goods::update($params,['id'=>$id],true);
        //页面跳转
        $this->success('修改成功','index');
    }

    /**
     * 删除指定资源
     *
     * @param  int  $id
     * @return \think\Response
     */
    public function delete($id)
    {
        //删除数据
        \app\admin\model\Goods::destroy($id);
        //页面跳转
        $this->success('删除成功','index');
    }
}
